class Array{
    int *data;
    int length;
    public:
    Array(int _len){
        data=new int [_len];
        length=_len;
    };
    ~Array(){
        delete [] data;
    }
    int get_length() const;
    int get_data(int _idx) const;
    void set_data(int _idx, int _val);
    int* get_address(int _idx);
    //operator delete[]
};

int Array::get_length() const{
    return length;
}

int Array::get_data(int _idx) const{
    return *(data+_idx);
}

void Array::set_data(int _idx, int _val){
    *(data+_idx)=_val;
}

int* Array::get_address(int _idx){
    return data+_idx;
}